perm filename UTILS[1,3]3 blob
sn#012645 filedate 1972-11-17 generic text, type T, neo UTF8
(LAP PRELIST SUBR)
(PUSH P 1)
(PUSH P 2)
(MOVEI 2 (QUOTE 1))
(MOVE 1 0 P)
(CALL 2 (E *LESS))
(JUMPN 1 TAG3)
(MOVE 1 -1 P)
(JUMPN 1 TAG2)
TAG3 (MOVEI 1 (QUOTE NIL))
(JRST 0 TAG1)
TAG2 (HRRZ@ 1 -1 P)
(PUSH P 1)
(HLRZ@ 1 -2 P)
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(EXCH 1 -1 P)
(CALL 2 (E PRELIST))
(POP P 2)
(CALL 2 (E XCONS))
(SUB P (C 0 0 1 1))
TAG4
TAG1 (SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP SUFLIST SUBR)
(PUSH P 1)
(PUSH P 2)
(MOVEI 2 (QUOTE 1))
(MOVE 1 0 P)
(CALL 2 (E *LESS))
(JUMPN 1 TAG3)
(MOVE 1 -1 P)
(JUMPN 1 TAG2)
TAG3 (MOVE 1 -1 P)
(JRST 0 TAG1)
TAG2 (HRRZ@ 1 -1 P)
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -1 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SUFLIST))
TAG4
TAG1 (SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP STR SUBR)
(CALL 1 (E EXPLODEC))
(PUSH P 1)
(MOVEI 1 (QUOTE /"))
(CALL 1 (E NCONS))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E *APPEND))
(MOVEI 2 (QUOTE /"))
(CALL 2 (E XCONS))
(JCALL 1 (E READLIST))
NIL
(LAP STRP SUBR)
(PUSH P 1)
(PUSH P (C 0 0 (QUOTE NIL) 0))
(CALL 1 (E ATOM))
(JUMPE 1 TAG6)
(MOVE 1 -1 P)
(CALL 1 (E NUMBERP))
(JUMPE 1 TAG5)
TAG6 (MOVEI 1 (QUOTE NIL))
(JRST 0 TAG4)
TAG5 (MOVEI 2 (QUOTE PNAME))
(MOVE 1 -1 P)
(CALL 2 (E GET))
(MOVEM 1 0 P)
(CALL 1 (E LAST))
(MOVE 2 1)
(MOVE 1 0 P)
(CALL 2 (E &STRP))
TAG7
TAG4 (SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP STRLEN SUBR)
(CALL 1 (E EXPLODEC))
(JCALL 1 (E LENGTH))
NIL
(LAP SEQ SUBR)
(PUSH P 2)
(CALL 1 (E EXPLODEC))
(EXCH 1 0 P)
(CALL 1 (E EXPLODEC))
(POP P 2)
(JCALL 2 (E EQUAL))
NIL
(LAP AT SUBR)
(PUSH P 1)
(CALL 1 (E ATOM))
(JUMPN 1 TAG3)
(MOVE 1 0 P)
(CALL 1 (E STR))
(CALL 1 (E AT))
(JRST 0 TAG2)
TAG3 (MOVE 1 0 P)
(CALL 1 (E NUMBERP))
(JUMPE 1 TAG4)
(MOVE 1 0 P)
(CALL 1 (E EXPLODE))
(MOVEI 2 (QUOTE //))
(CALL 2 (E XCONS))
(CALL 1 (E READLIST))
(JRST 0 TAG2)
TAG4 (MOVE 1 0 P)
(CALL 1 (E STRP))
(JUMPN 1 TAG5)
(MOVE 1 0 P)
(JRST 0 TAG2)
TAG5 (CALL 0 (E GENSYM))
(MOVEI 2 (QUOTE PNAME))
(PUSH P 1)
(MOVE 1 -1 P)
(CALL 2 (E GET))
(JSP 6 SPECBIND)
(0 0 (SPECIAL &X&))
(PUSH P 1)
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P 1)
(PUSH P (C 0 0 (QUOTE NIL) 0))
TAG1 (MOVE 2 -1 P)
(JUMPN 2 TAG17)
(MOVE 2 0 P)
(JRST 0 TAG13)
TAG17 (HLRZ@ 2 -1 P)
(MOVEM 2 (SPECIAL &X&))
(HRRZ@ 2 -1 P)
(MOVEM 2 -1 P)
(CALL 0 (E GENSYM))
(MOVEI 2 (QUOTE PNAME))
(CALL 2 (E GET))
(EXCH 2 1)
(MOVE 1 0 P)
(CALL 2 (E *APPEND))
(MOVEM 1 0 P)
(JRST 0 TAG1)
TAG13 (PUSHJ P SPECSTR)
(MOVEI 3 (QUOTE PNAME))
(MOVEM 2 -2 P)
(MOVE 1 -4 P)
(CALL 3 (E PUTPROP))
(SUB P (C 0 0 2 2))
(MOVE 2 0 P)
(MOVE 1 -1 P)
(CALL 2 (E ©))
(JUMPE 1 TAG21)
(MOVEI 1 (QUOTE &NONAME))
(JRST 0 TAG20)
TAG21 (MOVE 1 -2 P)
(CALL 1 (E INTERN))
TAG22
TAG20 (SUB P (C 0 0 3 3))
TAG6
TAG2 (SUB P (C 0 0 1 1))
(POPJ P)
NIL
(LAP CAT SUBR)
(PUSH P 2)
(CALL 1 (E EXPLODEC))
(EXCH 1 0 P)
(CALL 1 (E EXPLODEC))
(PUSH P 1)
(MOVEI 1 (QUOTE /"))
(CALL 1 (E NCONS))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E *APPEND))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E *APPEND))
(MOVEI 2 (QUOTE /"))
(CALL 2 (E XCONS))
(JCALL 1 (E READLIST))
NIL
(LAP SUBSTR SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(MOVE 1 3)
(CALL 1 (E NUMBERP))
(JUMPE 1 TAG2)
(MOVE 1 -2 P)
(CALL 1 (E EXPLODEC))
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SUFLIST))
(MOVE 2 0 P)
(CALL 2 (E PRELIST))
(JRST 0 TAG1)
TAG2 (MOVE 1 -2 P)
(CALL 1 (E EXPLODEC))
(MOVEI 2 (QUOTE 1))
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 2 (E *DIF))
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SUFLIST))
TAG3
TAG1 (MOVEM 1 -2 P)
(MOVEI 1 (QUOTE /"))
(CALL 1 (E NCONS))
(MOVE 2 1)
(EXCH 1 -2 P)
(CALL 2 (E *APPEND))
(MOVEI 2 (QUOTE /"))
(CALL 2 (E XCONS))
(SUB P (C 0 0 3 3))
(JCALL 1 (E READLIST))
NIL
(LAP PRINTSTR SUBR)
(CALL 1 (E PRINC))
(JCALL 1 (E TERPRI))
NIL
(LAP NEQ SUBR)
(PUSH P 1)
(PUSH P 2)
(CAME 1 2)
(JRST 0 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(SUB P (C 0 0 2 2))
(POPJ P)
NIL
(LAP NEQUAL SUBR)
(CALL 2 (E EQUAL))
(JUMPE 1 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(POPJ P)
NIL
(LAP LEQUAL SUBR)
(CALL 2 (E *GREAT))
(JUMPE 1 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(POPJ P)
NIL
(LAP GEQUAL SUBR)
(CALL 2 (E *LESS))
(JUMPE 1 TAG1)
(TDZA 1 1)
TAG1 (MOVEI 1 (QUOTE T))
(POPJ P)
NIL
(LAP &VECTOR SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(PUSH P 4)
(JUMPE 1 TAG3)
(JUMPE 3 TAG5)
(MOVE 1 3)
(CALL 1 (E ATOM))
(JUMPE 1 TAG5)
(MOVE 1 -1 P)
(CALLF@ 1 -2 P)
(JRST 0 TAG4)
TAG5 (MOVE 2 -1 P)
(MOVE 1 -2 P)
(CALL 2 (E MAPCAR))
TAG7
TAG4 (JRST 0 TAG2)
TAG3 (JSP 6 SPECBIND)
(0 0 (SPECIAL &X&))
(0 0 (SPECIAL &Y&))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(MOVE 1 -6 P)
(CALL 1 (E ATOM))
(JUMPE 1 TAG17)
(MOVE 1 -6 P)
(MOVEM 1 (SPECIAL &X&))
(JUMPN 1 TAG16)
TAG17 (TDZA 1 1)
TAG16 (MOVEI 1 (QUOTE T))
(MOVEM 1 -2 P)
(MOVE 1 -5 P)
(CALL 1 (E ATOM))
(JUMPE 1 TAG21)
(MOVE 1 -5 P)
(MOVEM 1 (SPECIAL &Y&))
(JUMPN 1 TAG20)
TAG21 (TDZA 1 1)
TAG20 (MOVEI 1 (QUOTE T))
(MOVEM 1 -3 P)
(MOVEI 1 (QUOTE &Y&))
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE &X&))
(CALL 2 (E XCONS))
(MOVE 2 -7 P)
(CALL 2 (E XCONS))
(MOVEM 1 -4 P)
(MOVE 1 -2 P)
(JUMPE 1 TAG23)
(MOVE 1 -3 P)
(JUMPE 1 TAG23)
(MOVE 1 -4 P)
(CALL 1 (E *EVAL))
(JRST 0 TAG13)
TAG23 (MOVEI 1 (QUOTE NIL))
(CALL 1 (E NCONS))
(MOVEM 1 -1 P)
(MOVEM 1 0 P)
TAG1 (MOVE 1 -6 P)
(JUMPE 1 TAG27)
(MOVE 1 -5 P)
(JUMPN 1 TAG26)
TAG27 (HRRZ@ 1 0 P)
(JRST 0 TAG13)
TAG26 (MOVE 1 -2 P)
(JUMPN 1 TAG30)
(HLRZ@ 1 -6 P)
(MOVEM 1 (SPECIAL &X&))
(HRRZ@ 1 -6 P)
(MOVEM 1 -6 P)
(JUMPN 1 TAG30)
TAG30 (MOVE 1 -3 P)
(JUMPN 1 TAG32)
(HLRZ@ 1 -5 P)
(MOVEM 1 (SPECIAL &Y&))
(HRRZ@ 1 -5 P)
(MOVEM 1 -5 P)
(JUMPN 1 TAG32)
TAG32 (MOVE 1 -4 P)
(CALL 1 (E *EVAL))
(CALL 1 (E NCONS))
(HRRM@ 1 -1 P)
(HRRZ@ 1 -1 P)
(MOVEM 1 -1 P)
(JRST 0 TAG1)
TAG13 (PUSHJ P SPECSTR)
(SUB P (C 0 0 5 5))
TAG11
TAG2 (SUB P (C 0 0 4 4))
(POPJ P)
NIL
(LAP &REPLACE SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(JUMPE 2 TAG2)
(MOVEI 5 (QUOTE 1))
(HLRZ@ 4 2)
(CALL 5 (E &REP1))
(JRST 0 TAG1)
TAG2 (MOVE 1 0 P)
TAG3
TAG1 (SUB P (C 0 0 3 3))
(POPJ P)
NIL
(LAP &REP1 SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(PUSH P 4)
(PUSH P 5)
(CALL 1 (E ATOM))
(JUMPE 1 TAG2)
(MOVE 2 5)
(MOVE 1 4)
(CALL 2 (E EQUAL))
(JUMPE 1 TAG4)
(MOVE 3 -2 P)
(HRRZ@ 2 -3 P)
(MOVEI 1 (QUOTE NIL))
(CALL 3 (E &REPLACE))
(CALL 1 (E NCONS))
(JRST 0 TAG3)
TAG4 (MOVE 1 0 P)
(CALL 1 (E ADD1))
(MOVE 5 1)
(MOVE 4 -1 P)
(MOVE 3 -2 P)
(MOVE 2 -3 P)
(MOVEI 1 (QUOTE NIL))
(CALL 5 (E &REP1))
(MOVEI 2 (QUOTE NIL))
(CALL 2 (E XCONS))
TAG5
TAG3 (JRST 0 TAG1)
TAG2 (MOVE 2 5)
(MOVE 1 4)
(CALL 2 (E EQUAL))
(JUMPE 1 TAG7)
(MOVE 3 -2 P)
(HRRZ@ 2 -3 P)
(HLRZ@ 1 -4 P)
(CALL 3 (E &REPLACE))
(HRRZ@ 2 -4 P)
(CALL 2 (E CONS))
(JRST 0 TAG1)
TAG7 (HRRZ@ 1 -4 P)
(PUSH P 1)
(HLRZ@ 1 -5 P)
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 1 (E ADD1))
(MOVE 5 1)
(MOVE 4 -3 P)
(MOVE 3 -4 P)
(MOVE 2 -5 P)
(EXCH 1 -1 P)
(CALL 5 (E &REP1))
(POP P 2)
(CALL 2 (E XCONS))
(SUB P (C 0 0 1 1))
TAG10
TAG1 (SUB P (C 0 0 5 5))
(POPJ P)
NIL
(LAP &DECOMPOSE SUBR)
(MOVEI 3 (QUOTE NIL))
(PUSH P 2)
(CALL 3 (E &DEC1))
(POP P 1)
(POPJ P)
NIL
(LAP &DEC1 SUBR)
(PUSH P 1)
(PUSH P 2)
(PUSH P 3)
(JUMPN 1 TAG2)
(JUMPE 2 TAG3)
(TDZA 1 1)
TAG3 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG2 (CALL 1 (E ATOM))
(JUMPE 1 TAG4)
(MOVE 1 -2 P)
(CAIN 1 (QUOTE _))
(JRST 0 TAG5)
(CALL 2 (E SET))
(JUMPN 1 TAG5)
(JRST 0 TAG5)
(TDZA 1 1)
TAG5 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG4 (MOVE 1 2)
(CALL 1 (E ATOM))
(JUMPE 1 TAG11)
(JUMPN 2 TAG14)
(MOVEI 2 (QUOTE (_)))
(MOVE 1 -2 P)
(CALL 2 (E EQUAL))
(JUMPN 1 TAG12)
TAG14 (MOVE 1 -2 P)
(CALL 1 (E &SETNIL))
(JUMPN 1 TAG12)
(TDZA 1 1)
TAG12 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG11 (HLRZ@ 1 -2 P)
(CAIE 1 (QUOTE _))
(JRST 0 TAG15)
(MOVEI 3 (QUOTE T))
(HRRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPN 1 TAG16)
(MOVE 3 0 P)
(HRRZ@ 2 -1 P)
(MOVE 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPN 1 TAG16)
(TDZA 1 1)
TAG16 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG15 (JUMPE 3 TAG20)
(MOVEI 3 (QUOTE T))
(HLRZ@ 2 2)
(HLRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPE 1 TAG22)
(MOVEI 3 (QUOTE T))
(HRRZ@ 2 -1 P)
(HRRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPN 1 TAG21)
TAG22 (TDZA 1 1)
TAG21 (MOVEI 1 (QUOTE T))
(JRST 0 TAG1)
TAG20 (MOVEI 3 (QUOTE NIL))
(HLRZ@ 2 -1 P)
(HLRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(MOVEM 1 0 P)
(MOVEI 3 (QUOTE NIL))
(HRRZ@ 2 -1 P)
(HRRZ@ 1 -2 P)
(CALL 3 (E &DEC1))
(JUMPE 1 TAG26)
(MOVE 1 0 P)
(JUMPN 1 TAG25)
TAG26 (TDZA 1 1)
TAG25 (MOVEI 1 (QUOTE T))
TAG23
TAG1 (SUB P (C 0 0 3 3))
(POPJ P)
NIL
(LAP &SETNIL SUBR)
(PUSH P 1)
(JUMPE 1 TAG3)
(CAIE 1 (QUOTE _))
(JRST 0 TAG2)
TAG3 (MOVEI 1 (QUOTE NIL))
(JRST 0 TAG1)
TAG2 (CALL 1 (E ATOM))
(JUMPE 1 TAG4)
(MOVEI 2 (QUOTE NIL))
(MOVE 1 0 P)
(CALL 2 (E SET))
(JRST 0 TAG1)
TAG4 (HLRZ@ 1 0 P)
(CALL 1 (E &SETNIL))
(HRRZ@ 1 0 P)
(CALL 1 (E &SETNIL))
TAG5
TAG1 (SUB P (C 0 0 1 1))
(POPJ P)
NIL
(LAP © SUBR)
(PUSH P 6)
(PUSH P (C 0))
(MOVE 3 ISPTR_)
(MOVEM 3 SPTR_)
(MOVE 3 IDPTR_)
(MOVEM 3 DPTR_)
(MOVEI 6 4)
(HLRZ@ 4 1)
(HLRZ@ 5 2)
(133000 0 SPTR_)
LOOP_ (134000 3 SPTR_)
(CAIN 3 42)
(JRST 0 FINISHUP_)
(136000 3 DPTR_)
(367000 6 LOOP_)
(HRRZ@ 1 1)
(HLRZ@ 4 1)
(MOVE 3 ISPTR_)
(MOVEM 3 SPTR_)
(134000 3 SPTR_)
(CAIN 3 42)
(JRST 0 FINISHUP_)
(136000 3 DPTR_)
(MOVEI 6 4)
(MOVEM 2 0 P)
(HRRZ@ 2 2)
(HLRZ@ 5 2)
(MOVE 3 IDPTR_)
(MOVEM 3 DPTR_)
(JRST 0 LOOP_)
FINISHUP_
(MOVEI 1 0)
(CAIN 6 4)
(JRST 0 NULLCDR_)
LOOP1_ (136000 1 DPTR_)
(365000 6 LOOP1_)
EXIT_ (POP P 2)
(POP P 6)
(POPJ P)
NULLCDR_
(336000 0 0 P)
(334000 1 (C 0 0 (QUOTE T) 0))
(HRRM@ 1 0 P)
(JRST 0 EXIT_)
ISPTR_ (440700 0 0 4)
IDPTR_ (440700 0 0 5)
SPTR_ (0)
DPTR_ (0)
NIL
(LAP &STRP SUBR)
(HLRZ@ 3 1)
(MOVE 4 PTR_)
(134000 5 4)
(CAIE 5 42)
(JRST 0 FALSE_)
(MOVEI 5 5)
(CAMN 1 2)
(364000 5 LOOP_)
(HLRZ@ 3 2)
(MOVE 4 PTR_)
LOOP_ (134000 1 4)
(JUMPE 1 FALSE_)
(CAIN 1 42)
(JRST 0 TRUE_)
(367000 5 LOOP_)
FALSE_ (TDZA 1 1)
TRUE_ (MOVEI 1 (QUOTE T))
(POPJ P)
PTR_ (440700 0 0 3)
NIL (LAP EXIT SUBR)
(47000 0 12)
NIL
(SETQ QT (QUOTE /' ))
(SETQ LPAR (QUOTE /( ))
(SETQ RPAR (QUOTE /) ))
(SETQ LABR (QUOTE /< ))
(SETQ RABR (QUOTE /> ))
(SETQ LSBR (QUOTE /[ ))
(SETQ RSBR (QUOTE /] ))
(SETQ DASH (QUOTE /- ))
(SETQ STAR (QUOTE /* ))
(SETQ PLUSS (QUOTE /+ ))
(SETQ SLASH (QUOTE // ))
(SETQ BLANK (QUOTE / ))
(SETQ COLON (QUOTE /: ))
(SETQ COMMA (QUOTE /, ))
(SETQ PERIOD (QUOTE /. ))
(SETQ DOLLAR (QUOTE /$ ))
(SETQ EQSIGN (QUOTE /= ))
(SETQ LARROW (QUOTE /← ))
(SETQ DBQUOTE (QUOTE /" ))
(SETQ PERCENT (QUOTE /% ))
(SETQ CIRCLEX (QUOTE /⊗ ))
(SETQ UNDERBAR (QUOTE /_ ))
(SETQ SEMICOLON (QUOTE /; ))
(SETQ TAB (INTERN (ASCII 11)))
(SETQ LF (INTERN (ASCII 12)))
(SETQ VT (INTERN (ASCII 13)))
(SETQ FF (INTERN (ASCII 14)))
(SETQ CR (INTERN (ASCII 15)))
(SETQ ALTMODE (INTERN (ASCII 175)))
(SETQ TRUE T)
(SETQ FALSE (SETQ F NIL))
(SETQ BASE (SETQ IBASE 10.))
(PROG (&UNBOUND&))
(SETQ *NOPOINT T)
(NOUUO NIL)